In the field of electronic data processing, it often occurs that a software application (computer program) has to deal with data retrieved from two or more different sources.
In these cases, it may be critical, or at least desirable, for the software application that has to process the retrieved data, that the latter are retrieved, as far as possible, at the same time, or at least with a minimum difference in the time of retrieval of the data from the various sources.
An example in which this requirement exists is that of a Graphical User Interface (GUI) which has to display to a user contents retrieved by different jobs, sharing a limited set of resources, for example a Web browser that has to display a Web page including links to contents that are spread through the Internet.
Another example is the so-called “heartbeat mechanism” that is implemented in the IBM Tivoli Monitoring tool, sold by IBM Corporation, for monitoring the basic health state of endpoints of a distributed data processing system: in this case, a heartbeat monitor phases its polls to a repository of data gathered from the different endpoints whose state is to be monitored based on a predictive algorithm that makes use of an indication of age of the data gathered from the endpoints. Thus, ensuring that the times of retrieval of the data differ as less as possible is important in order to reduce the number of polls, and to always have an up-to-date picture of the system state.